Форум

Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

Помощь, ПХП (PHP)

Страница 1 из 24Далее

Здравствуйте дорогие форумчане. :smile:

Дело такого рода, написал код (рабочий),
хотелось бы услышать, пускай это будет критика, так-как уже мы все привыкли к ней здесь, но чтобы была с разъяснениями почему и как должно быть!!!

Код проверяет и дальше после кода INSERT UPDATE и SELECT в базу

$skype = trim($_POST['skype']);
$skype = iconv('UTF-8','windows-1251',$
skype);
$skype = htmlspecialchars($skype);
$skype = mysql_escape_string($skype);
if (preg_match("/[а-я]/i", $skype)){echo 'Логин Skype не может содержать кирилицу'; exit();}
if (empty($skype)){ $skype = '';}else{
if (strlen($skype) < 6){echo 'Длина логина должна составлять от 6 до 32 символов.'; exit();}
if (strlen($skype) > 32){echo 'Длина логина должна составлять от 6 до 32 символов.'; exit();}
}
$icq = intval( ( int ) $_POST['icq']);
if (!is_numeric($icq)) {echo 'Указан неверный номер ICQ'; exit();}
if (empty($icq)) $icq = '';

$podpis = trim($_POST['podpis']);
$podpis = iconv('UTF-8','windows-1251',$
podpis);
$podpis = htmlspecialchars($podpis);
$podpis = mysql_escape_string($podpis);
if (empty($podpis)) $podpis = '';


ПС: а главный вопрос безопасно ли так!

$icq = intval( ( int ) $_POST['icq']);
зачем два раза приводишь к целочисленому значению? Хватит чего то одного из этого!

mysql_escape_string($podpis);
а разве не лучше ли?
mysql_real_escape_string($podpis);

.del

ra4ok14,
ПонялNikes,
Не критика а вопрос, подпись не проверяешь?

MARIOS,
Nikes,
грамотеи, что один, что второй, разве в регулярках длина значения не указывается? а?
и зачем вам эли лишние строки:
case (strlen($skype) < 6)
case (strlen($skype) > 32)

$data = trim($data)
$data = iconv('UTF-8','windows-1251',$
data);
$data = htmlspecialchars($data);

а нельзя разве сделать $data = htmlspecialchars(trim($data));
????????

туда даже iconv можно запихнуть
не знаю зачем вы делаете лишние строки

Цитата: ByFly
грамотеи


:wink:

Цитата: ByFly
разве в регулярках длина значения не указывается?


давай так ты мне регулярку а я тебе 50р., я регулярку не знаю :fellow:

MARIOS, по рукам, ща, сек, накидаю быстро

Цитата: ByFly
а нельзя разве сделать $data = htmlspecialchars(trim($data));


можно

Моя регулярка для использования логина
Правим немного под твой ник скайпа


if(!preg_match("|^[a-z0-9]{6,3
2}+$|i", $_POST['skype'])){
echo "Разрешено использовать только латинские буквы и цифры";
}

Цитата: ByFly
накидаю быстро


ток накидай нормально, а то тут срачь розведётся! :wink:

Страница 1 из 24Далее
Авторизация
*
*
Регистрация
*
*
*
Генерация пароля